#-*- codeing = utf-8 -*-
#@Time : 2020/7/12 22:26
#@Author : 阳某
#@File : dict.py
#@Software : PyCharm
# 字典（dict）是无序的对象集合，使用键值对存储，具有极快的查找速度
# 键key必须使用不可变类型
# 同一字典中，键必须是唯一的
# 字典使用单引号
# 字典的定义
info = {
    'name':"吴彦祖",
    'age':18
}
# 字典的访问
print(info['name'])
print(info['age'])
# 访问不存在的键
# print(info['sex'])  #直接访问会报错
print(info.get('sex'))  #使用get方法，没有找到对应的键，默认返回None
print(info.get('sex','m'))#使用get方法，没有找到对应的键,设置返回m
print(info.get('name','m'))

# 增加
newID = input("请输入新的学号：")
info['id'] = newID
print(info['id'])

# 删除
# del info['name']   # 删除整个键值对
info = {
    'name':"吴彦祖",
    'age':18
}
# del info   #删除整个字典变量删除
info.clear()#清空字典

# 修改
info['age'] = 20
print(info['age'])
# 查
info= {
    'id':1,
    'name':"吴彦祖",
    'age':18
}
print(info.keys())#得到所有健。。列表形式
print(info.values())#得到所有值。。列表形式
print(info.items())#得到所有的项（列表），每一个项都是一个元组

# 遍历所有的键
for key in info.keys():
    print(key)
# 遍历所有的值
for value in info.values():
    print(value)
# 遍历所有的键值对
for key,value in info.items():
    print("key = %s,value = %s"%(key,value))

# 使用枚举函数，同时拿到列表中的下标和元素内容
mylist = ["a","b","c","d"]
print(enumerate(mylist))
for i,x in enumerate(mylist):#枚举类型
    print(i,x)
    print(i+1,x)


